package com.yytek.nmp.domain;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.yytek.common.core.annotation.Excel;
import com.yytek.common.core.web.domain.BaseEntity;

/**
 * 设备topo对象 iot_device_topo
 *
 * @author yytek-iot
 * @date 2022-07-05
 */
@ApiModel("设备topo对象")
public class IotDeviceTopo extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 网关设备id */
    @Excel(name = "网关设备id")
    @ApiModelProperty("网关设备id")
    private String gatewayId;

    /** 网关设备名称 */
    @Excel(name = "网关设备名称")
    @ApiModelProperty("网关设备名称")
    private String gatewayDeviceName;

    /** 子设备id */
    @Excel(name = "子设备id")
    @ApiModelProperty("子设备id")
    private String subId;

    /** 子设备名称 */
    @Excel(name = "子设备名称")
    @ApiModelProperty("子设备名称")
    private String subDeviceName;

    /** 绑定时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "绑定时间", width = 30, dateFormat = "yyyy-MM-dd")
    @ApiModelProperty("绑定时间")
    private Date bindTime;

    public void setGatewayId(String gatewayId)
    {
        this.gatewayId = gatewayId;
    }

    public String getGatewayId()
    {
        return gatewayId;
    }
    public void setGatewayDeviceName(String gatewayDeviceName)
    {
        this.gatewayDeviceName = gatewayDeviceName;
    }

    public String getGatewayDeviceName()
    {
        return gatewayDeviceName;
    }
    public void setSubId(String subId)
    {
        this.subId = subId;
    }

    public String getSubId()
    {
        return subId;
    }
    public void setSubDeviceName(String subDeviceName)
    {
        this.subDeviceName = subDeviceName;
    }

    public String getSubDeviceName()
    {
        return subDeviceName;
    }
    public void setBindTime(Date bindTime)
    {
        this.bindTime = bindTime;
    }

    public Date getBindTime()
    {
        return bindTime;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
                .append("gatewayId", getGatewayId())
                .append("gatewayDeviceName", getGatewayDeviceName())
                .append("subId", getSubId())
                .append("subDeviceName", getSubDeviceName())
                .append("bindTime", getBindTime())
                .append("createBy", getCreateBy())
                .append("createTime", getCreateTime())
                .append("updateBy", getUpdateBy())
                .append("updateTime", getUpdateTime())
                .append("remark", getRemark())
                .toString();
    }
}
